/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2012-2021. All rights reserved.
 */

package org.opengauss.mapper;

import org.opengauss.provider.TableOrderProvider;
import org.opengauss.vo.TableOrderVo;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;

import java.util.List;

/**
 * description:this for TableOrderMapper Interface
 * Copyright (c) Huawei Technologies Co., Ltd. 2012-2021.
 *
 * @author Administrator
 * @version [openGauss_debug 0.0.1 2021/5/8]
 * @since 2021/5/8
 */
public interface TableOrderMapper {
    @InsertProvider(type=TableOrderProvider.class, method = "add")
    int add(TableOrderVo vo);

    @UpdateProvider(type = TableOrderProvider.class, method = "createTable")
    void createTable();

    @UpdateProvider(type = TableOrderProvider.class, method = "dropTable")
    void dropTable();

    @SelectProvider(type = TableOrderProvider.class, method = "maxId")
    int maxId();

    List<TableOrderVo> selectAll();
    TableOrderVo selectById(int orderId);
    List<TableOrderVo> selectByCondition(TableOrderVo vo);
    int deleteByCondition(TableOrderVo vo);
    int updateByCondition(@Param("setVo") TableOrderVo setVo, @Param("conditionVo") TableOrderVo conditionVo);
}
